Testing for accurate data transmission across physical media is extremely important in today's digital world. Conventional error-detecting codes (EDCs) are limited in their detection capabilities with respect to today's transmission protocols.
Error detection refers to an ability to identify data errors that are encountered due to noise or other problems during transmission. At an abstract level, an “error” occurs when a bit is transmitted with a value of 1, but is received with a value of 0, or vice versa. For an error-detecting code to be most effective, however, the abstract errors that the code detects should be the ones that are most likely to occur on the physical transmission medium. For example, certain physical disturbances may create errors in multiple bits that are distributed among the received data based on the way that the bits are distributed in the physical medium in time and in space.
In accordance with today's physical transmission environment, data is oftentimes transmitted in 33-bit “control blocks” such as the ones used by FC-BaseT in order to carry the Fibre Channel protocol over unshielded twisted-pair cabling. The FC-BaseT environment uses four pairs of signal wires or lanes where each wire pair carries 3-bit “symbols” encoded in a PAM-8 coding (8-level pulse-amplitude modulation).
Thus, at any given time, the four lanes could carry 12 bits of information. To improve the accuracy of the physical demodulation and decoding, the 12th bit is most often transmitted as the parity of the first 9 bits, in a Schlaefli coding. Therefore, in practice, only 11 bits of information, called a “character” is transmitted on the four lanes at one time.
In accordance with FC-BaseT, three 11-bit characters are transmitted in sequence on the four lanes, for a 33-bit block. A designated bit of the 33-bit block indicates whether the remaining 32 bits transcode a data block or transcode a so-called Fibre Channel Ordered Set, or “control block.” An FC-BaseT “control block” contains three 8-bit control bytes (24 bits of information), three bits used to identify the specific type of control block, with all three bits set to 0 for Fibre Channel use, and five unused additional bits.